# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: 'Default Ratchet & Clank: Size Matters Template'

game: 'Ratchet & Clank: Size Matters'
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    'Ratchet & Clank: Size Matters': 0.4.15 # Version of the world required for this yaml to work as expected.

'Ratchet & Clank: Size Matters':
  ###################
  # Generic Options #
  ###################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  ####################
  # RACSM Game Links #
  ####################
  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  death_amnesty:
    # Number of deaths allowed before items are removed from the player's inventory on death.
    # Higher values are more forgiving.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 5
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-5: 0 # random value between 0 and 5

  ammo_link:
    # Share weapon ammo with every other connected player who also has
    # AmmoLink enabled (and toggled on client-side, same as DeathLink):
    # whenever your ammo for a weapon changes, everyone else linked for that
    # weapon gets mirrored to the same count, and vice versa. Players don't
    # need to own the same weapons for this to work — a weapon you don't
    # have simply isn't affected.
    'false': 50
    'true': 0

  bolt_link:
    # Share your bolt count with every other connected player who also has
    # Bolt Link enabled (and toggled on client-side, same as DeathLink): your
    # bolt count mirrors everyone else's -- spend or collect bolts on any
    # linked player and everyone else's balance matches.
    'false': 50
    'true': 0

  ghost_link:
    # See another connected player as a ghost clone whenever you're both on
    # the same planet (and they also have Ghost Link enabled and toggled on
    # client-side, same as DeathLink). Only one ghost can be rendered at a
    # time -- if more than one linked player shares your planet, one is
    # picked automatically.
    'false': 50
    'true': 0

  ghost_link_update_interval:
    # How often (in seconds) your position is broadcast to other Ghost Link
    # players while Ghost Link is enabled. 0 broadcasts as fast as possible
    # (every poll tick, no throttling).
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  ######################
  # RACSM Item Options #
  ######################
  starting_weapons:
    # Number of random weapons the player begins the game with.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 13
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-13: 0 # random value between 0 and 13

  starting_gadgets:
    # Number of random gadgets the player begins the game with. Default of 1 grants the Hypershot.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 8
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-8: 0 # random value between 0 and 8

  random_starting_planet:
    # Randomizes which two planets Ratchet starts with access to, instead of always
    # starting on Pokitaru and Ryllus. Their infobots go back into the normal item pool
    # and two random planets' infobots are precollected in their place. Dreamtime,
    # Inside Clank, and Quodrona are never candidates: the first two need extra gadgets
    # beyond their own infobot to enter, and Quodrona is the goal planet.
    # off: always start on Pokitaru and Ryllus, as in vanilla.
    # logic: candidate planets are weighted by how many locations they offer under the
    # current options, so denser planets are more likely to be picked. Weapon/Gadget
    # Vendor locations only count towards a planet's weight if Starting Weapons/Starting
    # Gadgets is set above 0.
    # no_logic: two of the 6 candidate planets are chosen completely at random, ignoring
    # location counts entirely.
    'off': 50
    logic: 0
    no_logic: 0

  starting_bolts:
    # Number of bolts the player begins the game with.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100000
    45000: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100000: 0 # random value between 0 and 100000

  progressive_weapons:
    # Replace each weapon's individual unlock item with a single Progressive Weapon
    # item per weapon: the first copy unlocks the weapon, each subsequent copy grants
    # the next level upgrade.
    # off: weapons are normal individual items with no level-up items (levels work as
    # in vanilla).
    # manual: leveling still happens by playing normally, but is capped at whatever
    # level the Progressive Weapon items received so far allow — reaching that cap
    # freezes further experience gain until the next copy arrives.
    # automatic: level is set directly to match Progressive Weapon items received,
    # with experience gain disabled entirely (no need to play to level up).
    'off': 50
    manual: 0
    automatic: 0

  progressive_mods:
    # Replace each weapon's individual mod items with a single Progressive Mod item
    # per weapon: each copy grants the next mod slot in sequence. When off, each mod
    # slot is its own individual item.
    'false': 50
    'true': 0

  progressive_armour:
    # Unlock armour pieces in a fixed order via Progressive Armour items rather than as individual pieces.
    'false': 50
    'true': 0

  trap_chance:
    # Percent chance for each filler item to be replaced with a trap instead of Bolts.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  trap_weight:
    # Sets the relative weights of trap types in the filler pool. A higher value increases
    # how often that trap is chosen over the others when a filler item rolls as a trap (see
    # Trap Chance). Has no effect when Trap Chance is 0, or when every weight here is 0
    # (Bolts fills in instead).
    'Trap: Feverdream': 1
    'Trap: Mirror Level': 1
    'Trap: Reset Level': 1
    'Trap: Reverse Controls': 1
    'Trap: Weapon Switching': 1
    'Trap: Whats Gamma?': 1

  trap_duration:
    # How many seconds each trap type stays active once triggered.
    'Trap: Feverdream': 20
    'Trap: Mirror Level': 20
    'Trap: Reset Level': 1
    'Trap: Reverse Controls': 20
    'Trap: Weapon Switching': 20
    'Trap: Whats Gamma?': 20

  weapon_experience_multiplier:
    # Multiplies weapon experience gained each time the game grants it, speeding up
    # weapon leveling. Stops applying once a weapon reaches level 4 (max level for
    # every weapon). 0/1 = no boost.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 16
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-16: 0 # random value between 0 and 16

  bolt_multiplier:
    # Multiplies bolts gained each time the game grants them (crates, enemies, etc.),
    # speeding up bolt income. Does not affect one-off AP grants like starting bolts.
    # 0/1 = no boost.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 16
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-16: 0 # random value between 0 and 16

  nanotech_experience_multiplier:
    # Multiplies Nanotech (health) experience gained each time the game grants it,
    # speeding up Nanotech leveling. 0/1 = no boost.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 16
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-16: 0 # random value between 0 and 16

  ####################
  # RACSM Challenges #
  ####################
  clank_challenges:
    # Controls how Clank challenge arenas are included as location checks.
    # item_challenges: only the armour/gadget reward for each challenge arena (default).
    # all: every individual challenge completion is a separate check.
    'off': 0
    item_challenges: 50
    all: 0

  clank_challenge_groups:
    # Selects which Clank Challenge groups (Metalis/Dayni Moon) are included
    # as location checks, whenever Clank Challenges is on. Set a group to 0 to
    # exclude all of its locations (both the item-reward and individual-
    # completion tiers) from generation entirely — the challenge is still
    # playable in-game, it just has no AP checks. Default 1 includes every
    # group.
    Demolition Derby: 1
    Gadgetbot: 1
    Gadgetbot Toss: 1

  enable_clank_challenge_skill_points:
    # Include skill points earned from Clank Challenge arenas as location checks,
    # regardless of the Clank Challenges option.
    'false': 50
    'true': 0

  skyboard_challenges:
    # Controls whether Skyboard race challenges are included as location checks.
    # all: every individual race completion is a separate check.
    'off': 50
    all: 0

  enable_skyboard_challenge_skill_points:
    # Include skill points earned from Skyboard Challenges as location checks,
    # regardless of the Skyboard Challenges option.
    'false': 50
    'true': 0

  giant_clank:
    # Include the Giant Clank Metalis and Giant Clank Challax sequences: their
    # completion/armour-pickup location checks, and (with Skill Points on) their
    # skill point checks.
    # off (default): both sequences are locked out entirely — entering either one
    # immediately forces a load back out, exactly like vanilla before this option
    # existed. Nothing from them is ever checked or required.
    # on: both sequences become playable; entering plays them start-to-finish with
    # no AP items/notifications until their location(s) fire.
    'false': 50
    'true': 0

  ##########################
  # RACSM Location Options #
  ##########################
  all_missions:
    # Include story mission completions as location checks.
    # Covers main narrative objectives on each planet.
    'false': 0
    'true': 50

  all_cutscenes:
    # Include cutscene and flag events as location checks.
    # Covers encounter triggers and scripted events detected via flag bits.
    'false': 50
    'true': 0

  shrink_ray_options:
    # Controls how Shrink Ray puzzles are handled.
    # off: normal vanilla behavior — puzzles must be solved as usual, no checks.
    # locations: include Shrink Ray puzzle completions as location checks.
    # skip: writes every tracked puzzle-gate bit to solved every tick, bypassing
    # whatever it would otherwise block.
    'off': 0
    locations: 50
    skip: 0

  skill_points:
    # Include skill point challenges as location checks.
    # off: no skill point checks.
    # easy: a curated set of easier skill points only.
    # hard: also includes a curated set of harder skill points.
    # Clank Challenge and Skyboard Challenge skill points are controlled separately
    # by the Enable Clank Challenge Skill Points and Enable Skyboard Challenge Skill
    # Points options below, regardless of this setting.
    'off': 50
    easy: 0
    hard: 0

  armour_set_checks:
    # Treat equipping a complete armour set as a location check. Adds 13 locations to the pool.
    'false': 0
    'true': 50

  weapon_level_checks:
    # Adds location checks for reaching weapon levels, in addition to whatever
    # unlocks the weapon in the first place.
    # off: no weapon level checks.
    # level_4: one check per weapon, for reaching level 4 (vanilla max level).
    # level_8: one check per weapon, for reaching level 8 (Challenge Mode Titan max
    # level) — only meaningful with Challenge Mode 1+.
    # level_4_and_8: both of the above.
    # all: one check per weapon per level (2 through 8, Challenge Mode levels 5-8
    # included when Challenge Mode is 1+).
    'off': 50
    level_4: 0
    level_8: 0
    level_4_and_8: 0
    all: 0

  nanotech_level_interval:
    # Include reaching Nanotech (health) Levels as location checks, one every N
    # levels (e.g. every_5 checks levels 10, 15, 20, ...). See Nanotech Level Max
    # for where this stops. Levels above 20 require access to a good EXP planet.
    'off': 50
    every_5: 0
    every_10: 0
    every_25: 0

  nanotech_level_max:
    # Highest Nanotech Level Nanotech Level Interval creates a check for — e.g.
    # every_5 with this set to 25 checks only levels 10, 15, 20, 25. No effect while
    # Nanotech Level Interval is off.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 6
    # Maximum value is 75
    75: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-6-75: 0 # random value between 6 and 75

  ng_plus_items:
    # Include RYNO and the Chameleon/Hyperborean armour sets in generation. These are New
    # Game Plus exclusives in vanilla, so turning this off is intended for players doing a
    # fresh (non-NG+) playthrough where those items would never actually be obtainable.
    # off: RYNO and the Chameleon/Hyperborean armour pieces are removed from the item pool
    # entirely. Also removes the RYNO Weapon Level checks, and the Chameleon/Hyperborean
    # Armour Set checks along with Stalker/Ice II (both of which need a Chameleon or
    # Hyperborean piece to complete).
    'false': 0
    'true': 50

  challenge_mode:
    # Enables the game's Challenge Mode (New Game Plus) and controls how far
    # into it generation reaches. Also written to game memory at connect so the
    # game itself enters the matching Challenge Mode tier.
    # 0: vanilla — no Challenge Mode content.
    # 1: Challenge Mode 1 — adds the RYNO vendor purchase, 10 Challenge-Mode-only
    # weapon mod purchases, and the 4 Hyperborean armour pieces as real pickups.
    # 2: Challenge Mode 2 — everything from tier 1, plus the 4 Chameleon armour
    # pieces as real pickups.
    # Every item this unlocks a location for is still governed by NG+ Items —
    # with that option off, none of them are placed in the pool at all, so this
    # option alone has no effect.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 2
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-2: 0 # random value between 0 and 2

  ##########################
  # RACSM Cosmetic Options #
  ##########################
  starting_skin:
    # Cosmetic skin for Ratchet. Applied automatically on each planet load.
    # All skins are unlocked in-game regardless of this choice.
    default: 50
    pirate_ratchet: 0
    godzilla_ratchet: 0
    trash_ratchet: 0
    swim_ratchet: 0
    kanga_ratchet: 0
    hiro_ratchet: 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
